//
//  LJLournal.h
//  LJClientKit
//
//  Created by che on 12/7/09.
//  Copyright 2009 AntonChebotaev. All rights reserved.
//
//  
// Class responsible for representing livejournal journal, store entries and tags
// LJJournal uses LJServer to send 
//

#import <Cocoa/Cocoa.h>
#import "LJAccount.h"

@class LJTag, LJAccount;

// Exceptions
FOUNDATION_EXPORT NSString * const LJJournalBadInitException;

@interface LJJournal : NSObject <NSCoding> {
	NSString * name;
	LJAccount * account;
	NSMutableSet * tags;
}

@property (readonly) NSString* name;
@property (readonly) LJAccount* account;
@property (readonly) NSMutableSet* tags;

- (id)initWithName:(NSString *)name andAccount:(LJAccount *)account;
+ (id)journalWithName:(NSString *)name andAccount:(LJAccount *)account;

- (BOOL)isDefault;
- (void)addTag:(LJTag *)newTag;

- (NSUInteger)hash;

@end